package com.leyou.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.leyou.auth.dto.UserDetail;
import com.leyou.user.dto.UserDTO;
import com.leyou.user.entity.User;

public interface UserService extends IService<User> {

    /**
     * 校验手机号或用户名是否存在
     * @param data  用户名或手机号
     * @param type  数据类型：1是用户名；2是手机；其它是参数有误
     * @return   true：可以使用; false：不可使用
     */
    Boolean exists(String data, Integer type);

    /**
     * 发送短信验证码
     * @return 无
     */
    void sendSms(String phone);

    /**
     * 注册用户
     * @param user 用户信息
     * @param code 验证码
     * @return 无
     */
    void register(User user, String code);

    /**
     * 根据手机号和密码查询用户
     * @param username 手机号
     * @param password 密码
     * @return 用户信息
     */
    UserDTO queryUserByPhoneAndPassword(String username, String password);

    /**
     * 校验token，返回UserDetail
     * @param
     * @return
     */
    UserDetail queryUser();
}
